/* 定义主题变量 */
:root {
    /* 深色主题 */
    --bg-color: #121212;
    --text-color: #e0e0e0;
    --card-bg: #1a1a1a;
    --card-border: #2d2d2d;
    --primary-gradient: linear-gradient(135deg, #c5a47e 0%, #b08f6a 100%);
    --table-bg: transparent;
    --table-color: #e0e0e0;
    --table-border: #3d3d3d;
    --hover-bg: #252525;
    --button-bg: #2d2d2d;
    --button-border: #3d3d3d;
    --button-text: #c5a47e;
    --shadow-color: rgba(0,0,0,0.3);
    --icon-filter: brightness(0.8);
}

/* 白天主题 */
body.light-mode {
    --bg-color: #f8f9fa;
    --text-color: #2b3445;
    --card-bg: #ffffff;
    --card-border: #e5e7eb;
    --primary-gradient: linear-gradient(135deg, #4a6df1 0%, #3b82f6 100%);
    --table-bg: #f3f4f6;
    --table-color: #374151;
    --table-border: #d1d5db;
    --hover-bg: #f1f5f9;
    --button-bg: #f3f4f6;
    --button-border: #d1d5db;
    --button-text: #4a6df1;
    --shadow-color: rgba(0,0,0,0.1);
    --icon-filter: brightness(0.6);
}

/* 全局样式 */
body {
    background: var(--bg-color);
    color: var(--text-color);
    font-family: 'Segoe UI', system-ui, sans-serif;
    transition: background-color 0.3s ease, color 0.3s ease;
}

/* 卡片容器 */
.card {
    background: var(--card-bg);
    border: 1px solid var(--card-border);
    border-radius: 12px;
    box-shadow: 0 8px 32px var(--shadow-color);
}

/* 卡片头部 */
.card-header {
    background: var(--primary-gradient) !important;
    border-bottom: 2px solid var(--card-border);
    color: var(--bg-color) !important;
}

/* 表格样式 */
.table {
    --bs-table-bg: var(--table-bg);
    --bs-table-color: var(--table-color);
    --bs-table-border-color: var(--table-border);
}

.table-hover tbody tr:hover {
    --bs-table-accent-bg: var(--hover-bg);
}

.table-light {
    --bs-table-bg: var(--table-bg);
    --bs-table-color: var(--button-text);
    --bs-table-border-color: var(--table-border);
}

/* 按钮样式 */
.btn-light {
    background: var(--button-bg);
    border-color: var(--button-border);
    color: var(--button-text) !important;
}

.btn-success {
    background: var(--primary-gradient);
    border: none;
    color: var(--bg-color) !important;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.btn-success:hover {
    transform: translateY(-1px);
    box-shadow: 0 4px 12px color-mix(in srgb, var(--button-text) 30%, transparent);
}

/* 表格行 */
tbody tr {
    border-bottom: 1px solid var(--table-border);
}

/* 响应式调整 */
@media (max-width: 768px) {
    .card-body {
        padding: 1rem;
    }

    .table td, .table th {
        padding: 0.75rem;
    }
}

/* 图标颜色 */
.bi {
    filter: var(--icon-filter);
}

.btn-light .bi {
    filter: brightness(1.2);
}